# 学生信息管理系统操作类
import pymysql

class StudentDB:
    db=''
    cursor=''
    def __init__(self):
        #数据库连接
        self.db=pymysql.connect(host="192.168.31.233",user="root",password="111111",db='studentmanage',charset="utf8")
        self.cursor=self.db.cursor()
    # 查询所有数据
    def findAll(self):
        querysql="select id,name,age,sex,classid from student"
        try:
            # 执行查询操作
            self.cursor.execute(querysql)
            results=self.cursor.fetchall()
            # print(results)
            # print("查询条数：",self.cursor.rowcount)
            return results
        except Exception as err:
            print("查询数据报错！原因：",err)
            return []
    # 插入新的学生数据
    def insert(self,param):
        insertsql="insert into student(name,age,sex,classid) VALUES ('%s',%d,'%s','%s')"%(param)
        try:
            # 执行插入操作
            rlt=self.cursor.execute(insertsql)
            #事物提交
            self.db.commit()
            return rlt
            # print("成功添加条数：",rlt)
        except Exception as err:
            # 添加操作报错，事物回滚
            self.db.rollback()
            print("添加数据报错！原因：",err)
            return 0
    # 根据ID删除学生信息
    def delStudentById(self,sid):
        delsql="delete from student where id=%d"%(sid)
        try:
            # 执行删除操作
            rlt=self.cursor.execute(delsql)
            #事物提交
            self.db.commit()
            return rlt
            # print("成功删除条数：",rlt)
        except Exception as err:
            # 操作报错，事物回滚
            self.db.rollback()
            print("删除数据报错！原因：", err)
            return 0
    def __del__(self):
        #关闭数据库连接
        if self.cursor:
            self.cursor.close()
        if self.db:
            self.db.close()

if __name__=="__main__":
    # # 测试
    stu=StudentDB()
    obj=('王磊',20,'男','python07')
    stu.insert(obj)